package com.woniu.service.impl;

import com.woniu.entity.Teachercourse1;
import com.woniu.mapper.TeachercourseDao;
import com.woniu.pojo.Teachercourse;
import com.woniu.pojo.TeachercourseExample;
import com.woniu.service.TeacherCourseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.Map;

@Service
@Transactional
public class TeacherCourseServiceImpl implements TeacherCourseService {

    @Autowired
    TeachercourseDao teachercourseDao;

    /**
     * 讲师ID查询
     * */
    @Override
    public List<Teachercourse1> findByTeacherId(Integer empId) {
        TeachercourseExample teachercourseExample=new TeachercourseExample();
        teachercourseExample.createCriteria().andEmpIdEqualTo(empId);
        List<Teachercourse1> teachercourses = teachercourseDao.selectByExample1(teachercourseExample);
        return teachercourses;
    }


    @Override
    public void add(Teachercourse teachercourse) {
        teachercourseDao.insert(teachercourse);
    }

    @Override
    public void deleteById(Integer coursetId) {
        teachercourseDao.deleteByPrimaryKey(coursetId);
    }

    @Override
    public Teachercourse selectOne(Integer coursetId) {
        return teachercourseDao.selectByPrimaryKey(coursetId);
    }

    @Override
    public void updateById(Teachercourse teachercourse) {
        teachercourseDao.updateByPrimaryKey(teachercourse);
    }

    @Override
    public List<Teachercourse> selectAll() {
        return teachercourseDao.selectByExample(null);
    }

    @Override
    public void deleteByExample(List<Integer> asList) {
        TeachercourseExample teachercourseExample=new TeachercourseExample();
        if(asList.size()>0){
            teachercourseExample.createCriteria().andCoursetIdIn(asList);
        }
        teachercourseDao.deleteByExample(teachercourseExample);
    }

    @Override
    public List<Teachercourse1> findAll() {
        return teachercourseDao.selectByExample1(null);
    }

    @Override
    public Teachercourse1 findOne(Integer coursetId) {
        return teachercourseDao.selectByPrimaryKey1(coursetId);
    }

    @Override
    public List<Teachercourse1> findDate(Map<String, Object> mapCondition) {
        TeachercourseExample teachercourseExample=new TeachercourseExample();
        TeachercourseExample.Criteria criteria = teachercourseExample.createCriteria();
        Teachercourse teachercourse = (Teachercourse) mapCondition.get("teachercourse");
        if(teachercourse.getClassId()!=null&&teachercourse.getClassId()!=0){
            criteria.andClassIdEqualTo(teachercourse.getClassId());
        }
        if(teachercourse.getCourseId()!=null&&teachercourse.getCourseId()!=0){
            criteria.andCourseIdEqualTo(teachercourse.getCourseId());
        }
        if(teachercourse.getEmpId()!=null&&teachercourse.getEmpId()!=0){
            criteria.andEmpIdEqualTo(teachercourse.getEmpId());
        }

        return teachercourseDao.selectByExample1(teachercourseExample);
    }

    @Override
    public List<Teachercourse1> findByExample(Teachercourse teachercourse) {
        TeachercourseExample teachercourseExample=new TeachercourseExample();
        TeachercourseExample.Criteria criteria = teachercourseExample.createCriteria();
        if(teachercourse.getClassId()!=null&&teachercourse.getClassId()!=0){
            criteria.andClassIdEqualTo(teachercourse.getClassId());
        }
        if(teachercourse.getEmpId()!=null&&teachercourse.getEmpId()!=0){
            criteria.andEmpIdEqualTo(teachercourse.getEmpId());
        }
        return teachercourseDao.selectByExample1(teachercourseExample);
    }
}
